# inf_copy

## Что это такое?

   Проект имеет название **inf_copy**. Название пошло от первой её версии.

   Программа написана на языке Python. Она использует стандартные библиотеки языка, которые доступны сразу после установки. Основное ограничение - это версия Python (не ниже 3.8).

   Если программа будет запускаться на компьютере без Python, то существует бинарный файл "**_inf_copy.exe_**", который запустится везде, где есть Windows. Для того, чтобы программа маогла сама всё делать, то её необходимо запускать от Администратора.
   Если используется Python-версия, то для запуска необходимо сначала запустить коммандную строку от имени администратора, потом уже запустить сам файл. Как это сделать описано ниже:

1. запустить командную строку от имени Администратора;

   ![](https://hub.mos.ru/dietolife/inf_copy/-/raw/main/cmd_open/cmd_start.png)

2. в командной строке выполнить команды:
- если программа на флэшке, то нужно перейти на другой диск. Для этого выполнить команду - **_буква диска:_** (на картинке эта буква **Z**);
- нужно перейти в папку с программой. Для этоно набрать следующую команду - **_cd "путь к папке"_** (на картинке это команда **cd inf_copy**);
- запустить программу с помощью команды - **_python inf_copy_v.2.0.py_** (если Python добавлен в системный путь [**делается при установке Python**], если не добавлен, то нужно явно прописать путь к исполняемумо файлу python, например **_"C:\Program Files\Python311\python.exe" inf_copy_v.2.0.py_**)

![](https://hub.mos.ru/dietolife/inf_copy/-/raw/main/cmd_open/cmd_window.png)

   Необходимые компоненты программы, без которых она не запустится:
   1. Папка "**doc_pics**";
   2. Папка "**resources**" (её со всем наполнением можно скачать по ссылке: https://drive.google.com/drive/folders/1WpqFYJZdH0V00ndgPXq-H_e-maj8isea?usp=sharing). Единственное, внутри неё есть две папки: EGE_KEGE и KEGE_program. Первая папка содержит настройки "Станции КЕГЭ", а вторая - установочные файлы "Станции КЕГЭ". Папки изначально пустые, и нужно в них самостоятельно скопировать необходимые файлы. Внутрь первой просто копируем содержание папки настроек "Станции КЕГЭ" как есть, во вторую - содержание папки с установочными файлами "Станции КЕГЭ". Остальное есть по ссылке.
   3. Папка "**modules**" нужна, если используется файл **_inf_copy_v.2.0.py_**. Если так, то нужен ещё файл **_InitPaths.py_** и **_inf_copy.png_**
   4. Если используется бинарный файл, то к нему необходимо добавить папку **__internal_** (доступна по ссылке: https://drive.google.com/drive/folders/1WpqFYJZdH0V00ndgPXq-H_e-maj8isea?usp=sharing). Там лежат библиотеки для запуска программы.

### Описание
   Для начала обсудим некоторые термины, которые я использую в описании:
   - "_Программа_" - это настоящая программа под кодовым надванием inf_copy;
   - "_Софт_" - это программы типа Word, Excel, Python IDE, PyCharm и т.д. То есть, то что необходимо для сдающего экзамен ученика;
   - "_Exam_" - это папка, которая создается для файлов, которые необходимы ученику при сдаче экзамена. Она находится по пути "C:\Exam". Также внутри нее создаётся папка с датой экзамена, например 16.06.2024 - дата экзамена. Эту папку можно найти по пути "C:\Exam\16.06.2024";
   - "_КТГ_" - всем известный и любимый этап подготовки к экзамену, а именно "Контроль технической готовности".

   Ну, поехали...

   Программа создана для облегчения процесса прохождения КТГ по информатике в 11 классах.

   Изначально программа создавалась для упрощения настройки "Станции КЕГЭ" на всех компьютерах, и экономила немало времении на стадии подготовки. На тот момент она умела лишь создавать папку "Exam" с папкой внутри, копировать папку с начальными настройками "Станции КЕГЭ" и всё. Потом пришла идея расширить её функционал до почти автоматической подготовки компьютера к проведению экзамена по информатике.

   На данный момент программа представляет из себя инструмент для установки, проверки валидности версии, а также некоторых автоматизированных настроек софта, необходимого для проведения экзамена по информатике.

   Что умеет программа:
   1. находить софт по его обычному пути и проверять версию этого софта, и, если нужно, установить или обновить его;
   2. чистить рабочий стол от всего и создавать ярлычки для всего софта, а также папки Exam;
   3. копировать папку от "Станции КЕГЭ" с начальными настроками, но может этого и не делать, если не нужно;
   4. имеет свой собственный файл с конфигурацией, который можно менять либо в самом файле, либо через инфтерфейс программы;
   5. программа умеет ставить всё в автоматическом режиме. Всё сама проверит, сама обновит рабочий стол, сама скопирует настройки "Станции КЕГЭ". В процессе будет информировать в пункте "Статус" о том, что она делает на данный момент;
   6. также есть режимы полуавтомат (без установки софта) и режим обновления программы "Станции КЕГЭ";
   7. имеет раздел документации, где расписано как пользоваться программой. Я попытался написать инструкцию, чтобы она была понятна всем. 
   
   Ну вот в принципе и все описание.

### Скриншоты
   
| Что это? | Изображение |
| ------ | ------ |
| Основное окно программы |![](https://hub.mos.ru/dietolife/inf_copy/-/raw/8f47eb27845eff338d85aa4ff8ec23d98827a247/doc_pics/main.png)|
| Меню "Файл" |![](https://hub.mos.ru/dietolife/inf_copy/-/raw/8f47eb27845eff338d85aa4ff8ec23d98827a247/doc_pics/menu_file.png)|
| Меню "Параметры" |![](https://hub.mos.ru/dietolife/inf_copy/-/raw/8f47eb27845eff338d85aa4ff8ec23d98827a247/doc_pics/menu_params.png)|
| Меню "Помощь" |![](https://hub.mos.ru/dietolife/inf_copy/-/raw/8f47eb27845eff338d85aa4ff8ec23d98827a247/doc_pics/menu_help.png)|
| Окно "Чек-лист" после проверки софта |![](https://hub.mos.ru/dietolife/inf_copy/-/raw/8f47eb27845eff338d85aa4ff8ec23d98827a247/doc_pics/programm_list_after.png)|
| Окно настроек |![](https://hub.mos.ru/dietolife/inf_copy/-/raw/8f47eb27845eff338d85aa4ff8ec23d98827a247/doc_pics/settings.png)|
| Окно документации | ![](https://hub.mos.ru/dietolife/inf_copy/-/raw/main/doc_pics/documentation.png) |

### Как пользоваться?
   Основная инструкция того, как пользваться программой отражена в окне "Документация" программы.
   Если вы пользуетесь 

### Поддержка
   По вопросам можно писать на электронную почту: zelentsovna@1381.msk.ru.

### Лицензия
   Данный проект лицензирован GNU GPL v3.

### Статус проекта
   На данный момент это полностью рабочая в лабораторных условиях программа. Сюда выложена с целью отстройки и ловли багов на большую аудиторию. Если при работе возникают ошибки или есть предложения по развитию проекта, то их можно направлять на адрес электронной почты zelentsovna@1381.msk.ru.
